﻿using HCQ2_Model.VLine.InputDto;
using HCQ2_Model.VLine.OutputDto;
using HCQ2_Model.VLine.Params;
using HCQ2_Model.VR.Params;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HCQ2_IBLL
{
    public partial interface IT_VLionsRecordBLL
    {
        /// <summary>
        ///  获取VLions作品排行
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<List<VLionsWorkRank>> GetProductionRank(VLionsRank model);
        /// <summary>
        ///  获取VLions用户排行
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<List<VLionsUserRank>> GetUserRank(VLionsRank model);
        /// <summary>
        ///  VLions获取体验记录列表
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        List<RecordResult> GetRecordList(RecordModel param, out int total);

        //****************************************************5.0 VLines接口【1102需求】*******************************************************
        /// <summary>
        ///  1.1 获取用户收藏目录数
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<int> GetUserCollectFolderNum(UserCollectFolder model);
        /// <summary>
        ///  1.2 获取用户参加的课堂数
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<int> GetUserStudyNum(UserClassRoom model);
        /// <summary>
        ///  1.3 获取用户购买商品数
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<int> GetUserPayGoodNum(UserPayGoodNum model);
        /// <summary>
        ///  1.4 获取用户下载商品数
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<int> GetUserDownGoodNum(UserPayGoodNum model);
        /// <summary>
        ///  1.5 获取用户收藏的商品数
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<int> GetUserCollectGoodNum(UserPayGoodNum model);
        /// <summary>
        ///  1.6 获取用户点赞的商品数
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<int> GetUserLikeGoodNum(UserPayGoodNum model);
        /// <summary>
        ///  1.7 获取用户答题正确数
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<List<UserAnswerRatioResult>> GetUserAnswerNum(UserAnswerRatio model);
    }
}